package avaliacao.controle;

import java.io.IOException;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import avaliacao.modelo.Estoque;
import avaliacao.modelo.Produto;

/**
 * Servlet implementation class AdicionaProduto
 */
@WebServlet("/adicionaAoCarrinho")
public class AdicionaAoCarrinho extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public AdicionaAoCarrinho() {
        super();
    }

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession(true);
		@SuppressWarnings("unchecked")
		Map<Integer, Produto> carrinho = (Map<Integer, Produto>) session.getAttribute("carrinho");
		
		String id = request.getParameter("id");
		int idProduto = -1;
		if ( id!=null && !id .equals("") ) {
			idProduto = Integer.parseInt(id);
		}
		
		Estoque estoque = Estoque.getInstance();
		Produto p = estoque.getProdutoById(idProduto);
		if ( p!= null && !carrinho.containsKey(p.getCodigo()) ) {
			carrinho.put(p.getCodigo(), p);
			session.setAttribute("carrinho", carrinho);
		}
		response.sendRedirect("/AvaliacaoServlet");
	}

}
